Utilizing Design Information in Aspect-Oriented Programming
نویسندگان
چکیده
Traditionally in aspect-oriented languages, pointcut designators select joinpoints of a program based on lexical information such as explicit names of program elements. However, this reduces the adaptability of software, since it involves too much information that is hard-coded, and often implementationspecific. We claim that this problem can be reduced by referring to program units through their design intentions. Design intention is represented by annotated design information, which describes for example the behavior of a program element or its intended meaning. In this paper, we analyze four techniques that are regularly used in state-of-the-art object-oriented languages in associating design information with program elements. Also, the usage of design information in the weaving process of aspect-oriented languages is illustrated and their deficiencies are outlined. Accordingly, we formulate requirements for the proper application of design information in aspect-oriented programming. We discuss how to use design information for the superimposition of aspects, and how to apply superimposition to bind design information to program elements. To achieve this, we propose language abstractions that support semantic composition: the ability to compose aspects with the elements of the base program that incorporate certain design information. Based on this proposal, we show how the aspect-oriented language Compose* can be extended to support design information. We demonstrate the application of design information to improve the reusability of aspects. The paper ends with related works, a discussion, and conclusions.
منابع مشابه
Dwarf Frankenstein is still in your memory: tiny code reuse attacks
Code reuse attacks such as return oriented programming and jump oriented programming are the most popular exploitation methods among attackers. A large number of practical and non-practical defenses are proposed that differ in their overhead, the source code requirement, detection rate and implementation dependencies. However, a usual aspect among these methods is consideration of the common be...
متن کاملAspect - Oriented Middleware by Dapeng Gao
Aspect-Oriented Middleware Dapeng Gao Master of Applied Science Graduate Department of Electrical and Computer Engineering University of Toronto 2006 This thesis proposes a new paradigm, Modelware, for reducing the complexity of middleware design and implementation. The Modelareware approach distinguishes between the core architecture design and the crosscutting architectural elements. The cros...
متن کاملDynamic Aspect-Oriented Security Policy Enforcement
There are many approaches to utilizing aspect-oriented (AO) languages and techniques for the purpose of introducing security into applications. The cross-cutting nature of security has been well documented and therefore the benefit of implementing security using AO techniques logically follows. Authentication, authorization, auditing, logging, etc. are obvious activities that can easily be intr...
متن کاملA pattern system for aspect-oriented design
Aspect orientation can be used to evolve and improve objectoriented design patterns. However, the newly proposed patterns are generally specific to a particular aspect-oriented programming language (such as AspectJ, Hyper/J, etc). In order to mitigate this limit, we proposed a general aspect-oriented design modeling language that we used to express the aspect-oriented structures of all the GoF ...
متن کاملOn Aspect-Oriented Technology and Object-Oriented Design Patterns
More and more works are done on design patterns and aspect-oriented programming. These works mainly propose to use aspect-oriented programming mechanisms to provide new implementations of objectoriented design patterns. This paper illustrates our own approach by presenting an aspect-oriented implementation of the GoF Strategy pattern, and claims implementation is not sufficient: aspect-orientat...
متن کامل